{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. _nb_hype:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## HYPE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "from jmetal.algorithm.multiobjective.hype import HYPE\n",
    "from jmetal.core.solution import FloatSolution\n",
    "from jmetal.operator import SBXCrossover, PolynomialMutation\n",
    "from jmetal.problem import ZDT1\n",
    "from jmetal.util.termination_criterion import StoppingByEvaluations\n",
    "\n",
    "problem = ZDT1()\n",
    "\n",
    "reference_point = FloatSolution([0], [1], problem.number_of_objectives, )\n",
    "reference_point.objectives = [1., 1.]  # Mandatory for HYPE\n",
    "\n",
    "algorithm = HYPE(\n",
    "    problem=problem,\n",
    "    reference_point=reference_point,\n",
    "    population_size=100,\n",
    "    offspring_population_size=100,\n",
    "    mutation=PolynomialMutation(probability=1.0 / problem.number_of_variables, distribution_index=20),\n",
    "    crossover=SBXCrossover(probability=1.0, distribution_index=20),\n",
    "    termination_criterion=StoppingByEvaluations(2500)\n",
    ")\n",
    "\n",
    "algorithm.run()\n",
    "solutions = algorithm.get_result()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now visualize the Pareto front approximation:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYkAAAEjCAYAAADHWv01AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAHTtJREFUeJzt3XuYHGWd6PHvjyQYRbksiRqJbLyAqCyuOiiuEYPiGvGCCuuB9UK8xRuoz3qeg8+CkgPseoR11T3q8qBiYNUoRo6iq+hGRcgibCbKJVwlcgu4JoIX5CJJ+J0/qgbapmumZ6a7q7vn+3mefma66q2q39s107+qeut9KzITSZJa2aHuACRJ/cskIUmqZJKQJFUySUiSKpkkJEmVTBKSpEomiT4REcsiIhted0bEZRFxdETMriGeJRGxIiI6+jcSEc+LiEsi4q6ynn/ZyfW3sf0VEfGiXm6zX0XEonIfLKthuysi4okt5t0YESt7GY/GZ5LoP38DPA84DPgv4P8CH64hjiXACXT+b+TzwGzglRT1vK7D65/ICYBJovBLin3w7z3e7iKK/fCQJAG8Bjipp9FoXD0/QtWELs3M68vfvx8RTwbexzQTRUTMAiIzt003wGnEsAPwFOAfMvOHE5R9WGb+sTeR9b+ImANsyw72fi0/34s7tb5OyMyf1R2DmmSmrz54AcuABJ7cNP2Ucvqjy/dHAD8EtgB/AH4GHNVifQn8A/BB4AZgO/DMct584DTgVuCPwDXA8oZlV5TL/8mrYf4C4Czg1+XylwNvaLN+ja8by3krgU0UR7UXAfcAnyznzQFOBm4E7it/ngzMaVj3onJ97wBOpDhC/i3wLWBh02fS/FoxTsxPBv6t/PzuAX4B/CuwW1O5sfj/ClgH3FvGeUzFZ3Ag8I1y/90OfBp4eIv6vLvc/7cB949tF3gOsKZc/i7gB8BzGpZ/LLAZ+H9N2397ud5XNG1nWYu6jDTsi2uBl5fz/66s2++BbwLzm7ZxNPAT4I5yH1w8tmw5f0nFflhSzr8RWNm0znHr2xT3M4ELgbuBnwPvrPt/e9BftQfgq9wR1Unia8A24BHl+78vvzz+GjiY4ktxa/M/Q7muW8t/mMOApcBjgJ3Lf/qbyy+Ng4FTKZLIMeWyC4HPlet4PnAAcEA5byeKS0RbgOXAy4AvlWWXj1O/+eW6slz3ATyYtFYCdwI3AceUXyTPLed9uaz/iWWdV5T1/XLDuheV672xLP8y4CiKJHZ+Q7kDynJfGKsTDUmkRcwHAv8IHFr+vqys+0+ayq2k+NK8heJLcmk5rfkLeGwf3wz8U1mf4ymS38oW9bmVIpm8oozh4cB+FF/c64HDy327rpz2jIZ1vLxcxzvL90+l+IL9lxbbWdaiLlcBbynrciFF4vsYReJ9eTnv98DZTZ/FPwFvBV4MvBT4VLmNpeX8nSn+frPc12P7Yedy/o1Nn0W79R2L+2qKg4WXlH8LCRxU9//3IL9qD8BXuSMe/AJ5CsVlwN3KP/btwDcqltmhLPtZ4LKmeUlxBPrwpukfKv/h92qa/lmKL9XZ5fsV5TpmN5U7moYjv4bpayiOXmeNU8fZtDh658Ev1EObpu9bUf74cvp+5fuxL7vzm8r9z3L645o+l5OnuI9mA4vLdTyzRfxHNJX/D4rEF037+LSmcseV+3nvpvr8dGzZhrKrKY7Qd22YtjPFkfs5TWU/SXFE/SzgsvL1sIb5Y9tZ1qIuBzZM26+cdm3j/gX+mSJht9znDX+f3we+2TB9Sbm+g1sscyN/miTaqm9D3Ac1THsYxZna6b3+fx6mlw3X/ecain+8O4DPUBylv2VsZkTsFRGrIuLWstxW4G0UyaXZeZl5T9O0pcAlwA0RMXvsBXwP2B142gTxHQjcmpnnN03/IsXZwkTLV9kKfLvFtsbW3bwtgBc2Tf9O0/sryp97TiWgiNgxIv4+Iq6JiHvKGC8sZzd/3tuBrzdN+0q57T2app/dotwOFJdVGn0jy2+7BgcC387M345NyMzfA+fy0M/jf1Gc+VwE7AUcme2189yVmRc0vL+m/LkmM7c3TZ9NcfkRgIh4dkR8OyJ+RXEGuJXiqL7V32c7JlPfuzPzRw3l/khR/yntfxVsuO4/r6G4tnoncFNm3js2IyIeSXF0ejdFW8NGiksV76IhkTT4ZYtpj6a41r61Yvu7TxDfn1Ws978b5k/FlqYvoMZ1NW+valt3NL0f+0KcO8WYPkJxSeREii/aOykuxZ3TYp2/yczmz/RX5c89KPZp8/RW5Rq1+pzH+/x3a5yQmX+MiK9SXDL7ZmZe1WK5Vn7b+CYz74sIgN80lbuv/DkXICIeT9FecBXF53YzRaI4ieJy11S0Xd8W8UHxNzDV/S9MEv1oQz54d1Oz5wF/DrwgM9eOTRynH0XzUSgUp9+bKe6YauXaCeK7g9ZHhY9tmD8VrWIdW9djKRJip7bVriOAszLz5LEJZaJuZbeImNOUKB5T/ry1qexjgCvbKFf1mTy2xfTH0vQlGRFPp7i8OAocGhGHZuY3K+LvhKXALsDrMvOBpBgRj5jGOtuur7rDy02DZeyf7YEvoojYjaJRs13nAfsAN2fmaIvXnWW5saPwhzct/2NgYUQ8v2n631Ikn3aPVtsxdsnjiKbpry9/nj+Fdd7HQ+tU5RE89IzrzRVlZ1E0qjY6guJouvnL/3Utyt1PcRlwIj8GDomIR41NKH9/JQ2fR0TMBVZRXBJ6PsXZz+cj4nFtbGOqWv197l1uv1HV31YrbdVX3eOZxGC5iOIOjk9HxAkUdxodT9HgvEub6/g48D+ACyPi4xRnDjtRJI4XZOZYwhn7sv9ARHwX2J6ZoxQNhO8DzomI4yguo7ye4rrzO1pcMpqyzNwQEauAFeXZ0kUUZ1MfAlZl5hXjrqC1q4CXR8R5FEeit2XmbRVlzwOOiogrgOuB11Lc5trKncApETGP4tbLIynuHFvWol3hkIg4laJB9zkUHcvOysyftxH/SRR3O/0gIj5KcbZxLMUX9IkN5U4FngQ8q7xc9HaKhuuzIuIlLWLqhDUUl5fOioiPUbRV/G+KRNl4QHpdWe4tEXEHRdK4tuEApVG79VW31N1y7qt4UXELbItyL6LoG3EPxSWY91LeidRUrvIuHopruR+nuP//PoozgAuB9zeUmUVx//5miqPcbJi3gKL/QNv9JMrlxru7aVPFMjtS9Iu4ieII9Saq+0m8rWnZJTTdiUVxVLue4g6vh8TStPw8ikbl35SvLwH7U923oLGfxE3Aeyv28YEUfQz+QHE5paqfxNsq4nou4/eTeEXF5/FCigb2Y5u285C6tNjmQ/6eaPE3S3GWdE35GVxJcZa0krJPTEO5d1D0O9nWuI9o3U9i3PpOEPf5NN315mtyr7Fb8yRNUTnW0MGZuXCCcsso+mjsldXtTlJfsU1CklTJJKGhUY4genDTtGURsTYivhgRX2ia98KIuD0iFpSjkm6NiD9ExG8j4qKIeF7DOraX8xpfLRuBW5T7Q0RspRhiA+C1Teu7ISK+UDbyEhEvaJg3Nlpu47r2jIjXlTHeHRHnd/zDlEomCc0U7wNeFhEvgQfu/vks8IHMHLsP/6uZ+UiKToFrKRrno5z3k8x8ZNPrNoDMXNZ4qam5HLA3RdvDsZkZFO08Pynn7ULRwH0PsD4i9s3MCxuWfXq52l0b1nlzub5PAP+nOx+XVDBJaEbIzNspOnidHhE7UdxRtDEzV7YouxU4k+Je/Ik6F46rvCvrbOBbmfmF5vmZuT0zN2bmuylu91zRznozc01mnk0x9IrUNSYJzRiZ+TWK8ZBWUQxOuLxVuYh4GMWdO7dk5q+nudlTKG4xPrqNsucAL5jm9qSOsp+Ehs03IqLxmRk7UiSGMe+muHX4uMy8pWnZ10XEKyhuC95AMUTKmAMionG4itsz80njBRIRh1F0vnt2NgyvMo7bmPqwJlJXeCahYfPqzNx17EWRFB6Qmb+i6N9xZYtlzy6Xe3Rmvigz1zfMu7hxvWMJIiJe39Cg/N2xwmUj9OcpnvXxizZj34PuDzUiTYpnEtI0ZOaXKDrZPaAcq+jrFEOCnzuJ1b2GB0eZlfqCSULqvNMoBlI8bqKC5WNl96R44tsSimFHJlQuN4fif3iH8m6t7fnQkWilaTFJSO15XkT8oWnaQZm5rnFCROwJvJFiuJLfPXgHbaG8rbVxfUH5BD1g/8y8us143kjRe3vMPRR3ZC1rc3mpLQ7LIUmqZMO1JKmSSUKSVMkkIUmqZJKQJFUauLub5s2bl4sWLao7DEkaKOvXr/91Zs6f7HIDlyQWLVrE6Oho3WFI0kCJiJumspyXmyRJlUwSkqRKXUsSEXFGRGyOiA0V83eJiG9FxGURcWVEvLlbsUiSpqabZxIrgaXjzH8PcFVmPoNizJqPRcSOXYxHkjRJXUsSmXkB4w97nMCjysdDPrIsu22c8pKkHquzTeJTwFMpHrRyBfC+zLy/VcGIWB4RoxExumXLll7GKEkzWp1J4qXApcDjgL8EPhURO7cqmJmnZ+ZIZo7Mnz/p23wlSVNUZ5J4M3BOFq4HbgD2qTEeSVKTOpPEzcCLASLiMcBTgHYf8zgtazZsYsXqdazZsKkXm5OkgdW1HtcRsYrirqV5EbEJOIHiSVpk5mnAScDKiLiC4sErx2bmr7sVz5g1Gzbx/jPXcu/W7ay+ZCOfOGoxB++7sNublaSB1LUkkZlHTjD/NuCvu7X9Kmuv+SX3bt0OwL1bt7P2ml+aJCSpwozrcb14nwXMnTMLgLlzZrF4nwU1RyRJ/WvgBvibroP3XcgnjlrM2mt+yeJ9FngWIUnjmHFJAopEYXKQpInNuMtNkqT2mSQkSZVMEpKkSiYJSVIlk4QkqZJJQpJUySQhSapkkpAkVTJJSJIqmSQkSZVm5LAcY9Zs2OQYTpI0jhl7JjH2XIkvrr2O95+51gcQSVILMzZJtHquhCTpT83YJDHRcyV8xKkkQWRm3TFMysjISI6OjnZkXVVtEo2POJ07Z5aPOJU08CJifWaOTHa5Gd1wXfVcCR9xKkmFGXu5aTw+4lSSCjP6TKKKjziVpIJJooKPOJUkLzdJksZhkpAkVTJJSJIqmSQkSZVMEpKkSl1LEhFxRkRsjogN45RZEhGXRsSVEfHjbsUiSZqabp5JrASWVs2MiF2BzwCvysynA3/TxVgkSVPQtSSRmRcAd4xT5G+BczLz5rL85m7FIkmamjrbJPYGdouI8yNifUS8qapgRCyPiNGIGN2yZUsPQ5Skma3OJDEbeDbwcuClwIciYu9WBTPz9MwcycyR+fPn9zJGSZrR6hyWYxNwe2beBdwVERcAzwCuqzEmSVKDOs8kvgksjojZEfEI4LnA1TXGU8kHEEmaqbp2JhERq4AlwLyI2AScAMwByMzTMvPqiDgPuBy4H/hcZlbeLluXxgcQrb5kow8gkjSjdC1JZOaRbZQ5FTi1WzF0gg8gkjST2eN6Aj6ASNJM5vMkJuADiCTNZCaJNvgAIkkzlZebJEmVTBKSpEomCUlSJZOEJKmSDdfTtGbDJu98kjS0PJOYhrHe2F9cex3vP3Otw3ZIGjomiWlo1RtbkoaJSWIa7I0tadjZJjEN9saWNOxMEtNkb2xJw8zLTZKkSiYJSVIlk4QkqZJJQpJUySQhSapkkpAkVTJJSJIqmSQkSZVMEpKkSva4niaHCpc0zDyTmAaHCpc07EwS0+BQ4ZKGnUliGhwqXNKw61qSiIgzImJzRGyYoNz+EbEtIg7vVizdMjZU+BsW780njlpsm4SkodPNhuuVwKeAs6oKRMQs4KPA97sYR1c5VLikYda1M4nMvAC4Y4JixwBfBzZ3Kw5J0tTVdgtsROwBvAY4CNi/rjh6wdtkJQ2qOhuuPwEcm5n3T1QwIpZHxGhEjG7ZsqUHoXWOt8lKGmR1JokR4CsRcSNwOPCZiHh1q4KZeXpmjmTmyPz583sZ47TVdZvsmg2bWLF6nUlJ0rTUliQy8wmZuSgzFwGrgXdn5jfqiqdb6rhN1rMXSZ3StTaJiFgFLAHmRcQm4ARgDkBmntat7fabsdtke9km0ersxbYQSVPRtSSRmUdOouyybsXRD3p9m+zifRaw+pKN3Lt1u538JE2LA/wNoTrOXiQNJ5PEkLKTn6ROcOwmSVIlk4QkqZJJQpJUySQhSapkw/UQc8woSdPlmcSQste1pE4wSQwpH60qqRNMEkPKR6tK6gTbJIZUc69rgBWr19k+IWlSPJMYYgfvu5AVhxfPc7J9QtJUmCRmANsnJE2VSWIGsH1C0lTZJjEDOCqspKkyScwQjgoraSq83CRJqmSSkCRV8nKTHuBYT5KaeSYhwLGeJLVmkhDQvb4UazZsYsXqdSYdaUCZJAR0py+FZyfS4LNNQkB3+lK0OjuxrUMaLCYJPaDTfSkW77OA1Zds5N6t2+3pLQ2oCZNERBwDfDEzf9ODeDRE7OktDb52ziQeA6yLiJ8CZwDfy8zsblgaFvb0lgbbhA3XmXk8sBfweWAZ8POI+MeIeFKXY5Mk1aytu5vKM4f/Ll/bgN2A1RFxStUyEXFGRGyOiA0V818fEZdHxBURcVFEPGMK8UuSumjCJBER74uI9cApwH8Cf5GZ7wKeDRw2zqIrgaXjzL8BeGFm/gVwEnB6u0FLknqjnTaJPwNem5k3NU7MzPsj4hVVC2XmBRGxaJz5FzW8vRjwwrUk9ZkJk0RmnjDOvKs7FMdbge9WzYyI5cBygD333LNDm1QvOS6UNJhq73EdEQdRJIljq8pk5umZOZKZI/Pnz+9dcOoIe15Lg6vWJBER+wGfAw7NzNvrjEXd4zO2pcFVW5KIiD2Bc4A3ZuZ1dcWh7vMZ29Lg6tqwHBGxClgCzIuITcAJwByAzDwN+DCwO/CZiADYlpkj3YpH9bHntTS4YtA6T4+MjOTo6GjdYUjSQImI9VM5EK+94VqS1L9MEpKkSg4Vrp6yv4Q0WDyTUM/YX0IaPCYJ9Yz9JaTBY5JQz9hfQho8tkmoZ+wvIQ0ek4R6yifVSYPFy02SpEomCUlSJZOEJKmSSUKSVMkkIUmq5N1N6isO2yH1F88k1DcctkPqPyYJ9Q2H7XjQmg2bWLF6nYlStTNJqG84bEfBMyr1E9sk1DcctqPQ6oxqpn4Wqp9JQn3FYTuKM6rVl2zk3q3bZ/QZlfqDSULqM55RqZ+YJKQ+5BmV+oUN15KkSiYJSVIlk4QkqZJJQpJUySQhSapkkpAkVepakoiIMyJic0RsqJgfEfEvEXF9RFweEc/qViySpKnp5pnESmDpOPNfBuxVvpYD/9rFWCRJU9C1JJGZFwB3jFPkUOCsLFwM7BoRjj8gSX2kzjaJPYBbGt5vKqc9REQsj4jRiBjdsmVLT4KTJA1Iw3Vmnp6ZI5k5Mn/+/LrDkaQZo86xm24FHt/wfmE5TZrxfIyr+kWdZxLnAm8q73I6APhdZs7cR5FJJR86pH7StTOJiFgFLAHmRcQm4ARgDkBmngZ8BzgEuB64G3hzt2KRBokPHVI/6VqSyMwjJ5ifwHu6tX1pUPnQIfUTnych9RkfOqR+YpKQ+pAPHVK/GIhbYCVJ9TBJSJIqmSQkSZVMEpKkSiYJSVIl726S1FMOOTJYPJOQ1DMOOTJ4TBKSeqbVkCPqbyYJST2zeJ8FzJ0zC8AhRwaEbRKSesYhRwaPSUJSTznkyGDxcpMkqZJJQpJUySQhSapkkpAkVTJJSJIqmSQkSZW8BVZSbRzHqf95JiGpFo7jNBhMEpJq4ThOg8EkIakWjuM0GGyTkFQLx3EaDCYJSbVxHKf+5+UmSVKlriaJiFgaEddGxPUR8cEW8/eMiB9FxM8i4vKIOKSb8UiSJqdrSSIiZgGfBl4GPA04MiKe1lTseODszHwmcATwmW7FI0mavG6eSTwHuD4zf5GZ9wFfAQ5tKpPAzuXvuwC3dTEeSdIkdbPheg/glob3m4DnNpVZAXw/Io4BdgIO7mI8kqRJqrvh+khgZWYuBA4B/i0iHhJTRCyPiNGIGN2yZUvPg5SkmaqbSeJW4PEN7xeW0xq9FTgbIDN/AswF5jWvKDNPz8yRzByZP39+l8KVpO5as2ETK1avG6ghSLqZJNYBe0XEEyJiR4qG6XObytwMvBggIp5KkSQ8VZA0dMYbq6qfk0fXkkRmbgOOBr4HXE1xF9OVEXFiRLyqLPYB4O0RcRmwCliWmdmtmCSpLlVjVfX7QIdd7XGdmd8BvtM07cMNv18FPL+bMUhSP1i8zwJWX7KRe7du/5Oxqlolj37qhe6wHJLUA1VjVVUlj34Rg3Z1Z2RkJEdHR+sOQ5I6phcPX4qI9Zk5Mtnl6r4FVpLUx0wSklSjfm+4NklIUo36/Ql9JglJqlG/P6HPu5skqUb9/oQ+k4Qk1ayfn9Dn5SZJUiWThCSpkklCklTJJCFJqmSSkCRVMklIkip5C6wk9aleDPw3Ec8kJKkP9cuYTiYJSepD/TKmk0lCkvpQv4zpZJuEJPWhfhnTySQhSX2qH8Z08nKTJKmSSUKSVMkkIUmqZJKQJFUySUiSKpkkJEmVTBKSpEqRmXXHMCkRsQW4qQOrmgf8ugPr6SfDVqdhqw9Yp0EwbPWBok47Zeb8yS44cEmiUyJiNDNH6o6jk4atTsNWH7BOg2DY6gPTq5OXmyRJlUwSkqRKMzlJnF53AF0wbHUatvqAdRoEw1YfmEadZmybhCRpYjP5TEKSNIGhTxIRsTQiro2I6yPigy3mPywivlrOvyQiFvU+yva1UZ8DI+KnEbEtIg6vI8bJaqNOfxcRV0XE5RHxg4j48zrinIw26vTOiLgiIi6NiLUR8bQ64mzXRPVpKHdYRGRE9P3dQW3so2URsaXcR5dGxNvqiHMy2tlPEfG68v/pyoj48oQrzcyhfQGzgI3AE4EdgcuApzWVeTdwWvn7EcBX6457mvVZBOwHnAUcXnfMHarTQcAjyt/f1c/7aBJ12rnh91cB59Ud93TqU5Z7FHABcDEwUnfcHdhHy4BP1R1rh+u0F/AzYLfy/aMnWu+wn0k8B7g+M3+RmfcBXwEObSpzKHBm+ftq4MURET2McTImrE9m3piZlwP31xHgFLRTpx9l5t3l24uBep/CMrF26vT7hrc7Af3cONjO/xHAScBHgXt7GdwUtVunQdJOnd4OfDozfwOQmZsnWumwJ4k9gFsa3m8qp7Usk5nbgN8Bu/ckuslrpz6DZrJ1eivw3a5GNH1t1Ski3hMRG4FTgPf2KLapmLA+EfEs4PGZ+e+9DGwa2v27O6y8zLk6Ih7fm9CmrJ067Q3sHRH/GREXR8TSiVY67ElCQyQi3gCMAKfWHUsnZOanM/NJwLHA8XXHM1URsQPwz8AH6o6lw74FLMrM/YD/4MErDoNsNsUlpyXAkcBnI2LX8RYY9iRxK9CY/ReW01qWiYjZwC7A7T2JbvLaqc+gaatOEXEwcBzwqsz8Y49im6rJ7qevAK/uakTTM1F9HgXsC5wfETcCBwDn9nnj9YT7KDNvb/hb+xzw7B7FNlXt/N1tAs7NzK2ZeQNwHUXSqFZ3Y0uXG3JmA78AnsCDDTlPbyrzHv604frsuuOeTn0ayq5kMBqu29lHz6RokNur7ng7WKe9Gn5/JTBad9zTqU9T+fPp/4brdvbRgobfXwNcXHfcHajTUuDM8vd5FJendh93vXVXrAcf3CFlttwIHFdOO5HiiBRgLvA14Hrgv4An1h3zNOuzP8XRwl0UZ0RX1h1zB+q0BvgVcGn5OrfumDtQp08CV5b1+dF4X7r98JqoPk1l+z5JtLmPPlLuo8vKfbRP3TF3oE5BcWnwKuAK4IiJ1mmPa0lSpWFvk5AkTYNJQpJUySQhSapkkpAkVTJJSJIqmSQkSZVMEpKkSiYJaZoiYv9yELi5EbFTOU7/vnXHJXWCnemkDoiIkyl67z8c2JSZH6k5JKkjTBJSB0TEjsA6imcp/FVmbq85JKkjvNwkdcbuwCMpRkSdW3MsUsd4JiF1QEScSzHk9xMoRg89uuaQpI6YXXcA0qCLiDcBWzPzyxExC7goIl6UmT+sOzZpujyTkCRVsk1CklTJJCFJqmSSkCRVMklIkiqZJCRJlUwSkqRKJglJUiWThCSp0v8HTSwrtqqNvoMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from jmetal.lab.visualization.plotting import Plot\n",
    "from jmetal.util.solution import get_non_dominated_solutions\n",
    "\n",
    "front = get_non_dominated_solutions(solutions)\n",
    "    \n",
    "plot_front = Plot(plot_title='Pareto front approximation', axis_labels=['x', 'y'])\n",
    "plot_front.plot(front, label='HYPE-ZDT1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### API"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {
    "pycharm": {
     "is_executing": false,
     "name": "#%% raw\n"
    },
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. autoclass:: jmetal.algorithm.multiobjective.hype.HYPE\n",
    "   :members:\n",
    "   :undoc-members:\n",
    "   :show-inheritance:\n"
   ]
  }
 ],
 "metadata": {
  "celltoolbar": "Raw Cell Format",
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": []
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
